Given the pivotal role that packet based data networks, such as the Internet, are envisioned to play in the future, a tremendous amount of research has been directed toward these networks to work better, cheaper, and faster. However, despite the vast resources of most networks, the majority communicate data between two network entities in a sequential manner. For example, the widely used Internet Protocol (IP) supports only single-path routing between any two entities.
Accordingly, packet data networks in general, and the Internet in particular, possess inherent characteristics that potentially allow for improvement in performance, cost, functionality, and flexibility by transcending the sequential data communication property. That is, paralleling data communication results in radical improvements in the capabilities of many packet data networks.
Forms of parallel data communications have been attempted, but generally suffer from a number of deficiencies. For example, forms of parallel data communications systems, such as simple aggregation, link bundling, and channel bonding, implicitly require homogeneous network resources to perform well. Accordingly these technologies, in general, assume that the aggregated resources will provide consistent and predictable performance characteristics. Thus, simple leveraging schemes that split data over multiple resources with appropriate buffering at the receiving end fail to achieve effective aggregation in dynamic network environments. When homogeneity and/or consistency of the network do not exist, the simplistic strategy employed may not produce the desired performance.
U.S. Pat. No. 6,625,161 (“the 161 patent”) describes a communication system using one variation of simple aggregation. Specifically, the '161 patent is directed to a system for combining a plurality of parallel communication channels to emulate a single high-bandwidth communication channel. A continuous stream of packets are grouped as traffic aggregates and assigned to queues associated with the plurality of parallel communication channels. The assignment and reassignment of traffic aggregates to the queues is performed dynamically based on measuring queue load ratios associated with the lengths of the queues for each of the parallel communication channels. Grouping of existing and future packets as traffic aggregates is based on common attributes shared by the packets such as common source and destination IP addresses.
However, like other simple aggregation techniques, the system of the '161 patent suffers from a number of deficiencies. For example, because the packets are reassembled at the receiver end, the performance of the aggregation is dependent on the path with the lowest performance.
An example of the lowest path performance deficiency may be illustrated with a simple aggregation system having two paths, the first path having a greater bandwidth than the second path. Eight of ten packets are delivered along the first path and arrive at the destination in 1 ms. Because the entire communication has not been received, these eight packets are buffered at the receiver until the remaining two packets arrive. The remaining two packets are delivered along the second path, but it takes 500 ms for the remaining two packets to arrive at the destination. Accordingly, the entire communication is not available to the destination for at least 500 ms. Therefore, in some cases, particularly situations in which the paths do not have similar network characteristics, simple aggregation systems do not improve the overall network performance.
Furthermore, simple aggregation systems are not typically designed to adequately handle changing network conditions along a communications path, and may not install and operate seamlessly within existing networks.
Accordingly, what is needed is a parallel communications system that: is capable of working with both homogeneous and heterogeneous network elements (with and without diversity in performance characteristics of the individual network resources); is capable of adapting to changing network environments; is capable of being deployed as an overlay to existing networks; and does not require changes to network applications to realize the benefits.